/*
 * Copyright 2010 bedatadriven
 *
 *    Licensed under the Apache License, Version 2.0 (the "License");
 *    you may not use this file except in compliance with the License.
 *    You may obtain a copy of the License at
 *
 *        http://www.apache.org/licenses/LICENSE-2.0
 *
 *    Unless required by applicable law or agreed to in writing, software
 *    distributed under the License is distributed on an "AS IS" BASIS,
 *    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 *    See the License for the specific language governing permissions and
 *    limitations under the License.
 */

/**
 * JacobGen generated file --- do not edit
 *
 * (http://www.bigatti.it/projects/jacobgen)
 */
package com.bedatadriven.mso.excel;

import com.bedatadriven.mso.core.*;
import com.google.gwt.core.client.JavaScriptObject;

/** Wrapper for Excel.Shapes*/
public class Shapes extends JavaScriptObject {

	protected Shapes() { }
	public native final ExcelApplication getApplication()/*-{
		return this.Application;
	}-*/;

	public native final int getCreator()/*-{
		return this.Creator;
	}-*/;

	public native final Object getParent()/*-{
		return this.Parent;
	}-*/;

	public native final int getCount()/*-{
		return this.Count;
	}-*/;

	public native final Shape item( Object index)/*-{
		return this.Item( index);
	}-*/;

	public native final Shape _Default( Object index)/*-{
		return this._Default( index);
	}-*/;

	public native final JavaScriptObject get_NewEnum()/*-{
		return this._NewEnum;
	}-*/;

	protected native final Shape _addCallout( int type, float left, float top, float width, float height)/*-{
		return this.AddCallout( type, left, top, width, height);
	}-*/;

	public final Shape addCallout(MsoCalloutType type, float left, float top, float width, float height){
		return _addCallout(type.getValue(), left, top, width, height);
	}
	protected native final Shape _addConnector( int type, float beginX, float beginY, float endX, float endY)/*-{
		return this.AddConnector( type, beginX, beginY, endX, endY);
	}-*/;

	public final Shape addConnector(MsoConnectorType type, float beginX, float beginY, float endX, float endY){
		return _addConnector(type.getValue(), beginX, beginY, endX, endY);
	}
	public native final Shape addCurve( Object safeArrayOfPoints)/*-{
		return this.AddCurve( safeArrayOfPoints);
	}-*/;

	protected native final Shape _addLabel( int orientation, float left, float top, float width, float height)/*-{
		return this.AddLabel( orientation, left, top, width, height);
	}-*/;

	public final Shape addLabel(MsoTextOrientation orientation, float left, float top, float width, float height){
		return _addLabel(orientation.getValue(), left, top, width, height);
	}
	public native final Shape addLine(float beginX, float beginY, float endX, float endY)/*-{
		return this.AddLine( beginX, beginY, endX, endY);
	}-*/;

	protected native final Shape _addPicture(String filename,  int linkToFile,  int saveWithDocument, float left, float top, float width, float height)/*-{
		return this.AddPicture( filename, linkToFile, saveWithDocument, left, top, width, height);
	}-*/;

	public final Shape addPicture(String filename, MsoTriState linkToFile, MsoTriState saveWithDocument, float left, float top, float width, float height){
		return _addPicture(filename, linkToFile.getValue(), saveWithDocument.getValue(), left, top, width, height);
	}
	public native final Shape addPolyline( Object safeArrayOfPoints)/*-{
		return this.AddPolyline( safeArrayOfPoints);
	}-*/;

	protected native final Shape _addShape( int type, float left, float top, float width, float height)/*-{
		return this.AddShape( type, left, top, width, height);
	}-*/;

	public final Shape addShape(MsoAutoShapeType type, float left, float top, float width, float height){
		return _addShape(type.getValue(), left, top, width, height);
	}
	protected native final Shape _addTextEffect( int presetTextEffect, String text, String fontName, float fontSize,  int fontBold,  int fontItalic, float left, float top)/*-{
		return this.AddTextEffect( presetTextEffect, text, fontName, fontSize, fontBold, fontItalic, left, top);
	}-*/;

	public final Shape addTextEffect(MsoPresetTextEffect presetTextEffect, String text, String fontName, float fontSize, MsoTriState fontBold, MsoTriState fontItalic, float left, float top){
		return _addTextEffect(presetTextEffect.getValue(), text, fontName, fontSize, fontBold.getValue(), fontItalic.getValue(), left, top);
	}
	protected native final Shape _addTextbox( int orientation, float left, float top, float width, float height)/*-{
		return this.AddTextbox( orientation, left, top, width, height);
	}-*/;

	public final Shape addTextbox(MsoTextOrientation orientation, float left, float top, float width, float height){
		return _addTextbox(orientation.getValue(), left, top, width, height);
	}
	protected native final FreeformBuilder _buildFreeform( int editingType, float x1, float y1)/*-{
		return this.BuildFreeform( editingType, x1, y1);
	}-*/;

	public final FreeformBuilder buildFreeform(MsoEditingType editingType, float x1, float y1){
		return _buildFreeform(editingType.getValue(), x1, y1);
	}
	public native final ShapeRange getRange( Object index)/*-{
		return this.Range( index);
	}-*/;

	public native final void selectAll()/*-{
		this.SelectAll( );
	}-*/;

	public native final Shape addFormControl(int type, int left, int top, int width, int height)/*-{
		return this.AddFormControl( type, left, top, width, height);
	}-*/;

	public native final Shape addOLEObject( Object classType,  Object filename,  Object link,  Object displayAsIcon,  Object iconFileName,  Object iconIndex,  Object iconLabel,  Object left,  Object top,  Object width,  Object height)/*-{
		return this.AddOLEObject( classType, filename, link, displayAsIcon, iconFileName, iconIndex, iconLabel, left, top, width, height);
	}-*/;

	protected native final Shape _addDiagram( int type, float left, float top, float width, float height)/*-{
		return this.AddDiagram( type, left, top, width, height);
	}-*/;

	public final Shape addDiagram(MsoDiagramType type, float left, float top, float width, float height){
		return _addDiagram(type.getValue(), left, top, width, height);
	}
	public native final Shape addCanvas(float left, float top, float width, float height)/*-{
		return this.AddCanvas( left, top, width, height);
	}-*/;

	public native final Shape addChart( Object xlChartType,  Object left,  Object top,  Object width,  Object height)/*-{
		return this.AddChart( xlChartType, left, top, width, height);
	}-*/;

}
